cmake_minimum_required(VERSION 3.21)
if (${TOOLCHAIN_LANGUAGE} MATCHES "MikroC")
    project(Solution LANGUAGES MikroC)
else()
    project(Solution LANGUAGES C ASM)
endif()

include(mikroeUtils)

if (NOT PROJECT_TYPE)
    set(PROJECT_TYPE "mikrosdk" CACHE STRING "" FORCE)
endif()

add_executable(Solution
        main.c

)

############################ Solution GENERATED CODE START ###########################
add_subdirectory(lib_indexcounter)
target_link_libraries(Solution PUBLIC Click.IndexCounter)
add_subdirectory(lib_c8x8r)
target_link_libraries(Solution PUBLIC Click.8x8R)
find_package(MikroSDK.Log REQUIRED)
target_link_libraries(Solution PUBLIC MikroSDK.Log)
find_package(MikroSDK.Board REQUIRED)
target_link_libraries(Solution PUBLIC MikroSDK.Board)
find_package(MikroC.Core REQUIRED)
target_link_libraries(Solution PUBLIC MikroC.Core)
############################ Solution GENERATED CODE END ###########################


if(COMPILER_REVISION)
    if(${COMPILER_REVISION} VERSION_GREATER_EQUAL "1.0")
        if(${TOOLCHAIN_LANGUAGE} STREQUAL "GNU")
            if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.meproject)
                fetch_startup_name(${CMAKE_CURRENT_SOURCE_DIR}/.meproject startupName)
                if(startupName)
                    add_startup_all_targets(. ${CMAKE_CURRENT_SOURCE_DIR} ${startupName})
                endif()
                fetch_linker_name(${CMAKE_CURRENT_SOURCE_DIR}/.meproject linkerName)
                if(linkerName)
                    add_ld_all_targets(. ${CMAKE_CURRENT_SOURCE_DIR} ${linkerName})
                endif()
            endif()
        endif()
    endif()
endif()
